home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Games / NeXTGo / Source / findsavr.c < prev    next >
C/C++ Source or Header  |  1993-02-08  |  877b  |  38 lines

  1. #include "comment.header"
  2.  
  3. extern unsigned char p[19][19], l[19][19];
  4. extern int currentStone, MAXX, MAXY;
  5. extern void initmark();
  6. extern int findnextmove(int,int,int*,int*,int*,int);
  7.  
  8. int findsaver(int *i, int *j, int *val)
  9.      /* find move if any pieces are threatened */
  10. {
  11.   int m, n, minlib;
  12.   int ti, tj, tval;
  13.   
  14.   *i = -1;   *j = -1;     *val = -1;
  15.   for (minlib = 1; minlib < 4; minlib++)
  16.     {
  17.       /* count piece with minimum liberty */
  18.       for (m = 0; m < MAXX; m++)
  19.     for (n = 0; n < MAXY; n++)
  20.       if ((p[m][n] == currentStone) && (l[m][n] == minlib))
  21.         /* find move to save pieces */
  22.         {
  23.           initmark();
  24.           if (findnextmove(m, n, &ti, &tj, &tval, minlib) && (tval > *val))
  25.         {
  26.           *val = tval;
  27.           *i = ti;
  28.           *j = tj;
  29.         }
  30.         }
  31.     }
  32.   if (*val > 0)   /* find move */
  33.     return 1;
  34.   else        /* move not found */
  35.     return 0;
  36. }  /* findsaver */
  37.  
  38.